Alexander Larsson [Mon, 10 Feb 2020 14:19:32 +0000 (15:19 +0100)]
hidpi: Rescan monitors when screen scale factor changes
All the code in e.g. init_randr15() divides the physical resolutions with
the screen scale, however if we get the screen scale from xsettings
rather than e.g. GDK_SCALE the initial setup is using the wrong value.
So, whenever the screen scale size is changed we need to trigger
a re-read of the randr data
Matthias Clasen [Mon, 10 Feb 2020 12:07:18 +0000 (12:07 +0000)]
Merge branch 'baselineoverlay' into 'master'
A baseline overlay
See merge request GNOME/gtk!840
Matthias Clasen [Mon, 13 May 2019 17:43:44 +0000 (17:43 +0000)]
Remove GTK_DEBUG=baselines
This has been reimplemented differently
in the inspector.
Matthias Clasen [Mon, 13 May 2019 17:42:20 +0000 (17:42 +0000)]
widget: Stop embedding baseline debugging
The inspector has an overlay that achieves the
same, in a cleaner way.
Matthias Clasen [Mon, 13 May 2019 17:36:46 +0000 (17:36 +0000)]
inspector: Draw baselines as an overlay
Matthias Clasen [Mon, 10 Feb 2020 04:40:02 +0000 (23:40 -0500)]
Remove unused includes
We eventually want to get rid of GtkSelectionData.
As a first step, stop including gtkselection.h unnecessarily.
Matthias Clasen [Mon, 10 Feb 2020 04:04:10 +0000 (23:04 -0500)]
win32: One more build fix
Matthias Clasen [Mon, 10 Feb 2020 03:58:53 +0000 (22:58 -0500)]
win32: Fix the build
Matthias Clasen [Mon, 10 Feb 2020 03:55:11 +0000 (03:55 +0000)]
Merge branch 'main-cleanup' into 'master'
Cleanup in gtkmain.h
See merge request GNOME/gtk!1403
Benjamin Otte [Sun, 26 Aug 2018 16:00:52 +0000 (18:00 +0200)]
filechooser: Remove outdated hack
In GTK2, the filechooser was using a Paned, so switching between sidebar
and files list with the arrow keys didn't work (the slider would be
selected instead). So in
https://bugzilla.gnome.org/show_bug.cgi?id=161489 a crude hack was added
to make this possible.
Over the years the filechooser code has changed so that it now would do
this by default, yet the hack had been retained.
Benjamin Otte [Mon, 20 Aug 2018 04:20:05 +0000 (06:20 +0200)]
gdk: Make gdk_keyval_name() return a const char
The string is const, so return it like that.
Matthias Clasen [Sun, 9 Feb 2020 21:49:53 +0000 (16:49 -0500)]
Remove unused include
Emmanuele Bassi [Thu, 6 Feb 2020 15:02:02 +0000 (15:02 +0000)]
cssprovider: Remove unused include
Matthias Clasen [Sun, 9 Feb 2020 16:00:53 +0000 (11:00 -0500)]
Remove gtk_propagate_event from public API
This is not a function that can be safely called
outside of GTK.
Matthias Clasen [Sun, 9 Feb 2020 15:55:56 +0000 (10:55 -0500)]
Remove gtk_main_do_event from public API
Matthias Clasen [Sun, 9 Feb 2020 15:55:37 +0000 (10:55 -0500)]
Remove gtk_main_do_event from the docs
Matthias Clasen [Sun, 9 Feb 2020 15:54:26 +0000 (10:54 -0500)]
testsuite: Stop using gtk_main_do_event
Instead, emit ::event on the surface. Neither of
these is a proper test api, but one works as well
as the other.
Matthias Clasen [Sun, 9 Feb 2020 15:45:33 +0000 (10:45 -0500)]
docs: Remove more mentions of gtk_main_do_event
Matthias Clasen [Sun, 9 Feb 2020 15:38:01 +0000 (10:38 -0500)]
docs: Remove a reference to gtk_main_do_event
It is not great to put a function in the public api and
document it as "do not call this" only so we can refer
to its docs in other places. Therefore, fold the docs
directly into the input handling overview chapter.
Matthias Clasen [Sun, 9 Feb 2020 15:37:24 +0000 (10:37 -0500)]
docs: Remove a mention of gtk_main_do_event
Matthias Clasen [Sun, 9 Feb 2020 15:23:27 +0000 (10:23 -0500)]
css: Add a comment
All the other color values have this comment,
best to be consistent.
Matthias Clasen [Sun, 9 Feb 2020 15:03:44 +0000 (15:03 +0000)]
Merge branch 'wip/baedert/remove-outline-properties' into 'master'
css: Remove outline border radius properties
Closes #2414
See merge request GNOME/gtk!1402
Matthias Clasen [Sun, 9 Feb 2020 00:40:56 +0000 (19:40 -0500)]
gsk: Update docs sections
Matthias Clasen [Sun, 9 Feb 2020 00:36:25 +0000 (19:36 -0500)]
gsk: Small documentation additions
Matthias Clasen [Sun, 9 Feb 2020 00:27:32 +0000 (19:27 -0500)]
Fix a doc comment
Signals take two colons.
Matthias Clasen [Sun, 9 Feb 2020 00:25:13 +0000 (19:25 -0500)]
docs: Drop a few no longer existing symbols
Matthias Clasen [Sun, 9 Feb 2020 00:22:23 +0000 (19:22 -0500)]
docs: Update the switch thumbnail
Make the thumbnail for switches reflect the
current appearance of this widget.
Matthias Clasen [Sun, 9 Feb 2020 00:21:57 +0000 (19:21 -0500)]
emojichooser: Fix the docs
Make the emojichooser show up in the docs.
Matthias Clasen [Sun, 9 Feb 2020 00:04:19 +0000 (19:04 -0500)]
Fix the build with -Dgtk_doc=true
We need to export the emoji chooser symbols to
really make it public api.
Matthias Clasen [Sun, 9 Feb 2020 00:02:46 +0000 (19:02 -0500)]
Fix build with -Dgtk_doc=true
Toolbars were removed, so don't try to create
thumbnails of them.
Timm Bäder [Sat, 8 Feb 2020 19:39:08 +0000 (20:39 +0100)]
css: Remove outline border radius properties
These are always set to the same value as the corresponding border
radius properties. They are also non-standard, so remove them and
replace them with the border radius properties everywhere.
Fixes #2414
Matthias Clasen [Sat, 8 Feb 2020 15:44:16 +0000 (15:44 +0000)]
Merge branch 'avoid-mime-sniffing' into 'master'
Avoid mime sniffing where possible
See merge request GNOME/gtk!1400
Matthias Clasen [Sat, 8 Feb 2020 15:22:54 +0000 (10:22 -0500)]
Avoid mime sniffing where possible
When we are loading symbolic pngs or svgs, we know
that we need to the png or svg loader, so there is
no need to go through (surprisingly expensive) mime
sniffing to find the right loader.
Matthias Clasen [Fri, 7 Feb 2020 21:25:02 +0000 (16:25 -0500)]
gtk-demo: Don't call gtk_main_quit
It doesn't work with GtkApplications that do not
call gtk_main().
Matthias Clasen [Fri, 7 Feb 2020 20:42:32 +0000 (15:42 -0500)]
Adwaita: Fix selection in vertical spin buttons
This was broken by more specific selectors.
Matthias Clasen [Fri, 7 Feb 2020 19:23:55 +0000 (19:23 +0000)]
Merge branch 'patch-1' into 'master'
Update migrating-3to4.xml (fixed typo, in line 377)
See merge request GNOME/gtk!1398
J Arun Mani [Fri, 7 Feb 2020 18:30:42 +0000 (18:30 +0000)]
Update migrating-3to4.xml
Matthias Clasen [Fri, 7 Feb 2020 17:49:45 +0000 (12:49 -0500)]
label: Don't use gtk_widget_peek_style_context
We may just not have a style context. And we can just
as well go directly to the css styles.
Timm Bäder [Fri, 7 Feb 2020 04:09:10 +0000 (05:09 +0100)]
window: Move variable initialziation just before usage
Timm Bäder [Thu, 6 Feb 2020 16:32:26 +0000 (17:32 +0100)]
Rename gtk_widget{get,set,has}_style_class to _css_class
We want to use css instead of style everywhere now.
Timm Bäder [Wed, 5 Feb 2020 15:11:28 +0000 (16:11 +0100)]
treepopover: Fix header guard
Timm Bäder [Wed, 5 Feb 2020 07:08:45 +0000 (08:08 +0100)]
box: Move vfunc implementations before class_init
Just like we do everywhere else. This way we can also get rid of all the
prototypes.
Timm Bäder [Fri, 7 Feb 2020 03:32:08 +0000 (04:32 +0100)]
calendar: Remove day-selected-double-click signal
It doesn't really make sense to treat double clicks here different than
single clicks (and is bad UX), and it also breaks switching months by
quickly trying to single-click the last/first days in the calendar.
Timm Bäder [Wed, 5 Feb 2020 08:24:31 +0000 (09:24 +0100)]
calendar: Remove an unused enum
Timm Bäder [Wed, 5 Feb 2020 08:23:45 +0000 (09:23 +0100)]
calendar: Remove month-changed signal
Listen to notify::month instead.
Timm Bäder [Wed, 5 Feb 2020 08:22:21 +0000 (09:22 +0100)]
calendar: Keep a GDateTime around
Instead of a year/month/day triple.
Timm Bäder [Tue, 4 Feb 2020 14:20:39 +0000 (15:20 +0100)]
calendar: Return a GDateTime from get_date()
Timm Bäder [Tue, 4 Feb 2020 13:38:19 +0000 (14:38 +0100)]
calendar: Use GDateTime to select days
Timm Bäder [Tue, 4 Feb 2020 13:03:17 +0000 (14:03 +0100)]
calendar: Use widgets for everything
Timm Bäder [Tue, 4 Feb 2020 11:29:54 +0000 (12:29 +0100)]
calendar: Try to avoid changing size when changing the year
Timm Bäder [Tue, 4 Feb 2020 11:24:32 +0000 (12:24 +0100)]
calendar: Remove spinning code
This is dead code
Timm Bäder [Tue, 4 Feb 2020 11:19:08 +0000 (12:19 +0100)]
calendar: Add accessors for display properties
Instead of having a display flags enum and bitfield, just add proper
accessors for the properties, which is what we do everywhere else.
Timm Bäder [Tue, 4 Feb 2020 10:10:11 +0000 (11:10 +0100)]
testcalendar: Remove unused function
Timm Bäder [Tue, 4 Feb 2020 09:01:58 +0000 (10:01 +0100)]
calendar: Remove details
This is an unused feature that's way too complicated for a default
calendar widget and complicates the implementation a lot. Since we want
to eventually replace this with actual widgets, remove the details
support now.
Timm Bäder [Mon, 3 Feb 2020 11:06:26 +0000 (12:06 +0100)]
calendar: Fix an uninitialized value
Values pased to gtk_widget_measure must be initialized to 0. This failed
if the header widget of the calendar was invisible.
Timm Bäder [Tue, 4 Feb 2020 08:44:03 +0000 (09:44 +0100)]
Adwaita: Fix levelbar styling
The block nodes are inside a trough node.
Timm Bäder [Mon, 3 Feb 2020 10:43:15 +0000 (11:43 +0100)]
{box,grid}layout: Access border spacing directly
Instead of going through the style context
Timm Bäder [Sun, 2 Feb 2020 12:21:36 +0000 (13:21 +0100)]
GskTransform: Remove useless fmod check
All angles are in the [0; 360[ range
Timm Bäder [Sun, 2 Feb 2020 12:20:40 +0000 (13:20 +0100)]
GskTransform: add assertions to make normalize_angle() intentions clear
360deg should be expressed as 0deg and no angle should ever be
negative.
Timm Bäder [Fri, 31 Jan 2020 16:45:37 +0000 (17:45 +0100)]
snapshot: Remove new_with_parent
Unneeded now that we have push_collect()/pop_collect()
Timm Bäder [Fri, 31 Jan 2020 16:43:31 +0000 (17:43 +0100)]
textlayout: Use gtk_snapshot_{push,pop}_collect()
Timm Bäder [Fri, 31 Jan 2020 16:08:17 +0000 (17:08 +0100)]
GskRoundedRect: Inline graphene_rect_contains_rect
Brings gsk_rounded_rect_contains_rect down from 0.54% to 0.14% when
rendering rounded backgrounds.
Timm Bäder [Fri, 31 Jan 2020 07:08:11 +0000 (08:08 +0100)]
widget: Use gtk_snapshot_{push,pop})_collect
So we avoid allocating a new snapshot just for that.
Timm Bäder [Fri, 31 Jan 2020 07:05:34 +0000 (08:05 +0100)]
snapshot: Add _push_collect() and _pop_collect()
These will replace the previous gtk_snapshot_new_with_parent(), which
allocated an entirely new GObject just to push()/pop() some state. This
is already a problem but will be more important in the future as we
start using this more.
Timm Bäder [Wed, 29 Jan 2020 11:11:39 +0000 (12:11 +0100)]
Start using GtkWidget's new style class API
Timm Bäder [Wed, 29 Jan 2020 09:40:10 +0000 (10:40 +0100)]
renderborder: Make simple border case more obvious
When reaching this point, it is impossible that all border styles are
HIDDEN or NONE, but up to 3 of them can still be that style. In any
case, the "none or solid" border style is the most common on there is,
so try to make this simpler here by just appending a border node
directly instead of going through the snapshot_border path.
Timm Bäder [Wed, 29 Jan 2020 09:34:28 +0000 (10:34 +0100)]
Move GTK_BORDER_STYLE_HIDDEN before GTK_BORDER_STYLE_SOLID
The simple case when drawing border is "solid or nothing", which we can
now check for as simple as "style <= GTK_BORDER_STYE_SOLID".
Timm Bäder [Mon, 27 Jan 2020 13:22:20 +0000 (14:22 +0100)]
testcalendar: Close window properly
Timm Bäder [Tue, 28 Jan 2020 12:51:56 +0000 (13:51 +0100)]
searchbar: Use proper getter in _get_property()
Instead of retuning a seemingly random boolean, just use
gtk_search_bar_get_search_mode().
Timm Bäder [Tue, 28 Jan 2020 12:51:04 +0000 (13:51 +0100)]
searchbar: Use g_object_notify_by_pspec
We already keep the pspecs around, so use them.
Timm Bäder [Tue, 28 Jan 2020 07:42:08 +0000 (08:42 +0100)]
progressbar: Remove a few unneeded queue_resize() calls
This will happen automatically when adding style classes, setting the
label text, etc.
Timm Bäder [Wed, 5 Feb 2020 14:10:30 +0000 (15:10 +0100)]
Window: inline function into only caller
Timm Bäder [Fri, 31 Jan 2020 15:39:12 +0000 (16:39 +0100)]
widget: Fix a from_string/try_string mixup
Timm Bäder [Thu, 6 Feb 2020 07:17:51 +0000 (08:17 +0100)]
widget: Speed up verify_invariants()
Hide the expensive GTK_IS_ROOT() checks behind the cheaper realized,
mapped, etc. checks. This way we only check for the widget being a root
if the invariant does not hold.
This gets pop_verify_invariants() from 16% to 6% when running the
scrolling benchmark in the widget-factory.
Timm Bäder [Thu, 6 Feb 2020 07:17:31 +0000 (08:17 +0100)]
widget: Remove verify_child_invariants
Just calls verify_invariants() anyway.
Piotr Drąg [Fri, 7 Feb 2020 16:27:16 +0000 (17:27 +0100)]
Update POTFILES.in
Matthias Clasen [Fri, 7 Feb 2020 14:16:46 +0000 (09:16 -0500)]
NEWS: Small additions
Matthias Clasen [Fri, 7 Feb 2020 14:15:46 +0000 (09:15 -0500)]
flatpak: Build against the master runtime
This is what the ci is set up to use, and building
against 3.34 fails there.
Matthias Clasen [Fri, 7 Feb 2020 13:25:51 +0000 (13:25 +0000)]
Merge branch 'wip/otte/toolbar' into 'master'
remove GtkToolbar
See merge request GNOME/gtk!1383
Benjamin Otte [Mon, 3 Feb 2020 04:42:34 +0000 (05:42 +0100)]
GtkToolbar: remove
Benjamin Otte [Mon, 3 Feb 2020 04:40:46 +0000 (05:40 +0100)]
testsuite: Get rid of GtkToolbar
Just use GtkBox instead
Benjamin Otte [Mon, 3 Feb 2020 16:34:29 +0000 (17:34 +0100)]
css: Remove .primary-toolbar
It's not used anywhere anymore.
Benjamin Otte [Mon, 3 Feb 2020 04:17:23 +0000 (05:17 +0100)]
css: Remove .inline-toolbar
It's not used anywhere anymore.
Benjamin Otte [Mon, 3 Feb 2020 04:07:45 +0000 (05:07 +0100)]
widget-factory: Get rid of toolbars
Benjamin Otte [Mon, 3 Feb 2020 03:52:15 +0000 (04:52 +0100)]
gtk-demo: Get rid of toolbars
Benjamin Otte [Mon, 3 Feb 2020 03:29:10 +0000 (04:29 +0100)]
bloatpad: Use a box, not a toolbar
Benjamin Otte [Mon, 3 Feb 2020 00:10:55 +0000 (01:10 +0100)]
print: Don't use a toolbar in the custom paper dialog
Use a regular linked box instead.
Benjamin Otte [Thu, 6 Feb 2020 16:42:56 +0000 (17:42 +0100)]
cssnode: Remove leftover vfunc
Matthias Clasen [Fri, 7 Feb 2020 13:05:45 +0000 (08:05 -0500)]
Remove accidentally added files
Matthias Clasen [Fri, 7 Feb 2020 12:59:14 +0000 (07:59 -0500)]
Add a forgotten word
Matthias Clasen [Fri, 7 Feb 2020 12:50:02 +0000 (07:50 -0500)]
Fix syntax
Matthias Clasen [Fri, 7 Feb 2020 12:48:04 +0000 (07:48 -0500)]
Updates for 3.98
Matthias Clasen [Fri, 7 Feb 2020 07:06:45 +0000 (07:06 +0000)]
Merge branch 'wip/carlosg/implicit-grabs-on-leave' into 'master'
Handle implicit grabs on leave events
Closes #13
See merge request GNOME/gtk!1397
Carlos Garnacho [Fri, 7 Feb 2020 00:02:47 +0000 (01:02 +0100)]
gtkmain: Wait for GDK_CROSSING_UNGRAB leave event with implicit grabs
If there is a passive grab and the pointer leaves the window we would
receive a GDK_CROSSING_NORMAL event when the pointer moves outside
the window, and a GDK_CROSSING_UNGRAB event when we do release the
button and the implicit grab.
We currently would react to the first, but want to react to the
second. In the time between both events, the client would still receive
pointer motion that will reach the implicitly grabbed widget.
Closes: https://gitlab.gnome.org/GNOME/gtk/issues/13
Carlos Garnacho [Fri, 7 Feb 2020 00:00:52 +0000 (01:00 +0100)]
gtkroot: Make enum a typedef
Seems a typo, and prevents building as GtkRootProperties is deemed
to be defined multiple times.
Matthias Clasen [Thu, 6 Feb 2020 23:54:39 +0000 (23:54 +0000)]
Merge branch 'a11y-fixes' into 'master'
A11y fixes
See merge request GNOME/gtk!1396
Matthias Clasen [Thu, 6 Feb 2020 22:21:22 +0000 (17:21 -0500)]
testsuite: Misc. updates of expected output
The a11y dumps for action and header bars
have changed in harmless ways.
Matthias Clasen [Thu, 6 Feb 2020 23:03:28 +0000 (18:03 -0500)]
infobar: Implement forall
As a container, that is what you have to do.
Matthias Clasen [Thu, 6 Feb 2020 22:12:34 +0000 (17:12 -0500)]
testsuite: Clean up a11y menu tests
We don't need some of the tests anymore, since
we just have popovers now.
Matthias Clasen [Thu, 6 Feb 2020 21:50:09 +0000 (16:50 -0500)]
testsuite: Improve --generate support
When using the test binary to generate expected
output, don't initialize the test machinery, since
that pollutes the output with noise.